package com.tianxinweb.service;

import com.tianxinweb.entity.Privilege;
import com.baomidou.mybatisplus.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author cboy
 * @since 2018-07-19
 */
public interface PrivilegeService extends IService<Privilege> {

    /**
     * 获取菜单层级数
     * @return
     */
    int getMenuLevel();

    /**
     * 通过菜单的等级获取等级对应的菜单
     * @param i
     * @return
     */
    List<Privilege> getMenuByLevel(int i);

    /**
     * 获取管理人员菜单
     * @param i
     * @return
     */
    List<Privilege> getManagerMenuByLevel(int i, List<Integer> idList);

    /**
     * 添加权限
     * @param privilege
     */
    boolean addPrivilege(Privilege privilege);

    /**
     * 修改权限
     * @param privilege
     */
    boolean updatePrivilege(Privilege privilege);

    /**
     * 获取经过排序的菜单和权限
     * @return
     */
    List<Privilege> getOrderedPrivilege(Integer type);


    /**
     * 获取权限层级
     * @return
     */
    int getPrivLevel();

    /**
     * 通过陈层级获取权限
     * @param i
     * @return
     */
    List<Privilege> getPrivByLevel(int i);
}
